package metier;
/**
 * classe décrivant les caractéristiques d'un Collaborateur défini par :
 * 	un matricule : entier permettant de l'identifier 
 * 	un nom et un prénom ( chaîne de caractères ) .
 * @author Michele Lamballais
 *
 */

public class Collaborateur {

		  /**
	       * Attributs privés de la classe Collaborateur
	       * matricule de type integer
	       * nom et prénom de type String
	       */
	        private int matricule;
	        private String nom, prenom;

	        /**
	         * Constructeur de la classe Collaborateur
	         * @param unMatricule  (unique)
	         * @param unNom 
	         * @param unPrenom
	         */
	        public Collaborateur(int unMatricule, String unNom, String unPrenom) {
	            this.matricule = unMatricule;
	            this.nom = unNom;
	            this.prenom = unPrenom;
	        }

	        // accesseurs
	        /**
	         * fonction getMatricule() : entier 
	         * @return la valeur de l'attribut matricule
	         */
	        public int getMatricule() {
	            return this.matricule;
	        }

	        
	        /**
	         * fonction getNom() : chaine de caractères
	         * @return  la valeur de l'attribut nom
	         */
	        
	        public String getNom() {
	            return this.nom;
	        }

	        /**
	         * fonction getPrenom() : chaine de caractères
	         * @return  la valeur de l'attribut prenom
	         */
	        public String getPrenom() {
	            return this.prenom;
	        }

	       /**
	        * procedure setNom( une chaine de caractères)
	        * @param unNom
	        */
	        public void setNom(String unNom) {
	            this.nom = unNom;
	        }

	        /**
	         * procedure setPrenom( une chaine de caractères)
	         * @param unPrenom
	         */
	        public void setPrenom(String unPrenom) {
	            this.prenom = unPrenom;
	        }

	        // autres m�thodes 
	        /**
	         * fonction estEgal(Collaborateur): booleen
	         * @param unCollaborateur
	         * @return true si les 2 objets sont identiques
	         *         false s'ils sont différents
	         */
	        public boolean Equals(Collaborateur unCollaborateur) {
	            if (this.matricule != unCollaborateur.matricule) return false;
	            if (! this.nom.equals(unCollaborateur.nom) )return false;
	            if (! this.prenom.equals(unCollaborateur.prenom) )return false;
	            return true;
	        }

	     
	        /**
	         * fonction toString(): chaine de caractères
	         * @return objet converti en chaine
	         */
	        public String toString() {
	            String msg = "";
	            msg +=  this.matricule + " "+ this.nom + " "+ this.prenom ;
	            return msg;
	        }
	        
	        /**
	         * fonction toStringDescriptif(): chaine de caractères
	         * @return objet converti en chaine avec commentaire
	         */
	        public String toStringDescriptif() {
	            String msg = "";
	            msg +=  "matricule :" + this.matricule + "\n"+ "nom : "+ this.nom + "\n"+"prénom : "+ this.prenom ;
	            return msg;
	        }

	        
	    }


